React Navigation 在這邊使用 Wix/React Native Navigation搭配 Wix/React Native Navigation Hooks。可以參考官方文件。
輸入以下指令
yarn add react-native-navigation
iOS 需要執行 npx pod-install
利用 setRoot
來註冊畫面:
第一步要先註冊畫面:
Navigation.registerComponent(
'HOME_SCREEN', // componentName
() => reduxWrapper(HomeScreen), // componentProvider
() => HomeScreen, // concreteComponentProvider (optional)
)
);
上方的 component provider reduxWrapper
裡面長這樣:
const reduxWrapper = (Component) => (props) => {
return (
<Provider store={store}>
<Component {...props} />
</Provider>
)
}
接下來註冊 Root
const basicRoot = () =>
Navigation.setRoot({
root: {
stack: {
children: [
{
component: {
name: 'LOGIN_SCREEN'
}
}
]
}
}
});
最後在 APP.js 裡面加入 basicRoot
即可
Navigation.events().registerAppLaunchedListener(() => {
basicRoot();
}
當你想要將畫面移動到下一個頁面的時候,利用 push
的方式往前推進,當你想要往回的時候,使用 pop
往後移動。範例如下:
import { useNavigation } from 'react-native-navigation-hooks'
const { push, pop } = useNavigation();
push('PAHT_NAME', { ...passProps });
pop() // 這邊就會回到上一頁